package cn.stylefeng.guns.modular.finance.service;

import cn.stylefeng.guns.modular.wms.domain.dto.PurchaseInputOrderDTO;
import cn.stylefeng.guns.modular.wms.domain.dto.ReturnGoodsInputOrderDTO;
import cn.stylefeng.guns.modular.wms.domain.dto.SaleDeliveryOrderDTO;

/**
 * 财务中心对外提供的接口
 * @author allen
 * @version 1.0
 * @date 2021/4/11 23:13
 */
public interface FinanceFacadeService {

    /**
     * 通知财务中心 创建采购结算单 事件发生了
     * @param purchaseInputOrderDTO  采购结算单DTO对象
     * @return 处理结果
     */
    Boolean createPurchaseSettlementOrder(PurchaseInputOrderDTO purchaseInputOrderDTO);

    /**
     * 通知财务中心 对物流公司打款
     * @param saleDeliveryOrderDTO  销售出库单DTO对象
     * @return 处理结果
     */
    Boolean payForLogisticsCompany(SaleDeliveryOrderDTO saleDeliveryOrderDTO);


    /**
     * 通知财务中心  执行退货打款
     * @param returnGoodsInputOrderDTO  退货入库单DTO对象
     * @return 处理结果
     */
    Boolean executeReturnGoodsRefund(ReturnGoodsInputOrderDTO returnGoodsInputOrderDTO);
}
